package com.nf.dao;

import com.nf.entity.OrderInfo;
import com.nf.util.PagerUtil;
import com.nf.vo.OrdersVo;

import java.util.List;

public interface OrderInfoDao {
    /**
     * 添加订单,并查出刚插入订单记录对应的自增列Id的值
     * @param order
     * @return
     */
    public int add(OrderInfo order);

    /**
     * 根据订单ID  查询订单信息
     * @param orderId
     * @return
     */
    public OrderInfo selectById(int orderId);

    /**
     * 根据订单ID  删除订单
     * @param orderId
     * @return
     */
    public int del(int orderId);

    /**
     * 根据订单ID ，修改订单支付状态
     * @param orderId
     * @return
     */
    public int updateStatus(int orderId);

    /**
     * 根据用户ID ，查询其所有订单记录
     * @param userId
     * @return
     */
    public List<OrdersVo> selectByUserId(int userId);

    /**
     * 根据订单状态 查询未付款的订单
     * @return
     */
    public OrderInfo selectBystatus();

    /**
     * 查询所有订单(非分页)
     * @return
     */
    public List<OrderInfo> selectAll();

    /**
     * 分页查询
     * @param currentPage
     * @param pageCount
     * @return
     */
    public PagerUtil<OrderInfo> selectByPage(int currentPage, int pageCount);

    /**
     * 获取订单的总数（总记录数）
     * @return
     */
    public int getCount();

    /**
     * 模糊查询放映计划
     * @param cond
     * @return
     */
    public List<OrderInfo> selectByLike(String cond);

}
